#pragma once

#include "NFIModule.h"
#include "NFComm/NFCore/NFDeclareProperty.h"

class QIPaiCostParameter
{
public:
    DECLARE_PROPERTY_INT(PlayCount);
    DECLARE_PROPERTY_INT(PlayCost);
};

class QIPaiGameConfigParameter
{
public:
    DECLARE_PROPERTY_STRING(GameName);
    DECLARE_PROPERTY_INT(GameId);
    DECLARE_PROPERTY_INT(MaxPlayerCount);
    DECLARE_PROPERTY_INT(MaxSitCount);
    DECLARE_PROPERTY_INT(MaxLookenCount);
};

class NFIGameConfigInterfaceModule : public NFIModule
{
public:
    virtual NF_SHARE_PTR<QIPaiGameConfigParameter> GetGameConfigParameter(const std::string& gameName) = 0;
    virtual NF_SHARE_PTR<QIPaiGameConfigParameter> GetGameConfigParameter(int gameId) = 0;
};